/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package datos;

import MYSQLConection.OperacionesDB;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import negocio.Evento;
import negocio.Usuario;

/**
 *
 * @author Adrian
 */
public class DaoEventos {
    private static DaoEventos instance;

    private DaoEventos() {
    }

    public static DaoEventos getInstance() {
        if (instance == null) {
            return instance = new DaoEventos();
        }
        return instance;
    }
    
    public boolean NuevoEvento(String cedula, String fechaInicio,String fechaFin, String descripcion, String prioridad, String lugar) throws SQLException
    {
        int numero=this.numeroEvento(cedula);
        numero=numero+1;
        OperacionesDB db = new OperacionesDB();
        String query="insert into Eventos values('"+cedula+"','"+numero+"','"+fechaInicio+"','"+fechaFin+"','"+descripcion+"','"+prioridad+"','"+lugar+"')";
       if(db.ingreso(query))
       {
           return true;
       }else{return false;}
        
    }
    public int numeroEvento(String cedula) throws SQLException
    {
        OperacionesDB db = new OperacionesDB();
      
         String query = "select MAX(numero) from Eventos where cedula='"+cedula+"'";
        ResultSet resultado = db.seleccion(query);
        int numero=0;
        while (resultado.next()) {
           
           numero=Integer.parseInt(resultado.getString(1));
        }
         db.cerrarConexion();
        
        return numero;
        
    }
    public ArrayList<Evento> listar(String cedula) throws SQLException
    {
        OperacionesDB db = new OperacionesDB();
       ArrayList<Evento> eventos=new ArrayList();
         String query = "select * from Eventos where cedula='"+cedula+"'";
        ResultSet resultado = db.seleccion(query);
        Evento even=null;
        while (resultado.next()) {
        int numero=Integer.parseInt(resultado.getString(2));
           
           even=new Evento(numero,resultado.getString(3),resultado.getString(4),resultado.getString(5),resultado.getString(6),resultado.getString(7));
           eventos.add(even);
        }
         db.cerrarConexion();
        
        return eventos;
        
    }
    public void Modificar(String cedula,int numero,String fechaInicio,String fechaFin, String descripcion, String prioridad, String lugar) throws SQLException
    {
         System.out.println("3333"+cedula);
        OperacionesDB db = new OperacionesDB();
       String query = "UPDATE eventos SET fechaInicio='"+fechaInicio+",fechaFin='"+fechaFin+",descripcion='"+descripcion+",prioridad='"+prioridad+"',lugar"+lugar+"' where cedula='"+cedula+"' and numero="+numero;
       db.modificacioneliminacion(query);
       db.cerrarConexion();
    }
    
    public void EliminarEvento(String cedula,String AnoAgenda,int num) throws SQLException
    {
      OperacionesDB db = new OperacionesDB();
       String query1 = "delete from Eventos where cedula='"+cedula+"' and numero='"+num+"'";
       db.modificacioneliminacion(query1);
       db.cerrarConexion();  
    }
      
}
